﻿/**
* @author        jime.zhu
* @date          2021-08-11
* @brief
*/

#ifndef PROCESSBLOCK_H
#define PROCESSBLOCK_H

#include <QObject>
#include <QMargins>

#include "AbstractBlock.h"
#include "FlowChart_Global.h"

namespace CVV
{

namespace FlowChart
{

/**
 * @brief 算子块
 */
class CVV_FLOWCHART_EXPORT ProcessBlock : public AbstractBlock
{

public:
    explicit ProcessBlock();
    explicit ProcessBlock(QString &name,QRect &position,double zoom,QString &state,QMargins margins=QMargins(0,0,0,0));
    ~ProcessBlock();

    // AbstractBlock interface
public:
    /**
     * @brief paint 绘制bock 形状
     * @param canvas 画板
     * @param fontSizeInPoints 字体大小
     */
    void paint(QPainter *canvas);
    /**
     * @brief getBlockDom
     * @return 返回区域块Dom xml结构
     */
    static QString getBlockDom();
};
}
}
#endif // PROCESSBLOCK_H
